<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>SatStress.SatStress.SatLayer</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="SatStress-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://code.google.com/p/satstress">SatStress</a></th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="SatStress-module.html">Package&nbsp;SatStress</a> ::
        <a href="SatStress.SatStress-module.html">Module&nbsp;SatStress</a> ::
        Class&nbsp;SatLayer
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="SatStress.SatStress.SatLayer-class.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class SatLayer</h1><p class="nomargin-top"><span class="codelink"><a href="SatStress.SatStress-pysrc.html#SatLayer">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
         |
        <strong class="uidshort">SatLayer</strong>
</pre>

<hr />
<p>An object describing a uniform material layer within a satellite.</p>
  <p>Note that a layer by itself has no knowledge of where within the 
  satellite it resides.  That information is contained in the ordering of 
  the list of layers within the satellite object.</p>

<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Instance Methods</span></td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type"><a href="SatStress.SatStress.SatLayer-class.html" 
      class="link">SatLayer</a></span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="SatStress.SatStress.SatLayer-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">sat</span>,
        <span class="summary-sig-arg">layer_n</span>=<span class="summary-sig-default">0</span>)</span><br />
      Construct an object representing a layer within a <a 
      href="SatStress.SatStress.Satellite-class.html" 
      class="link">Satellite</a>.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="SatStress.SatStress-pysrc.html#SatLayer.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="SatStress.SatStress.SatLayer-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Output a human and machine readable text description of the layer.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="SatStress.SatStress-pysrc.html#SatLayer.__str__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="SatStress.SatStress.SatLayer-class.html#ordered_str" class="summary-sig-name">ordered_str</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">layer_n</span>=<span class="summary-sig-default">None</span>)</span><br />
      Return a string representation of the <a 
      href="SatStress.SatStress.SatLayer-class.html" 
      class="link">SatLayer</a>, including information about where in the 
      <a href="SatStress.SatStress.Satellite-class.html" 
      class="link">Satellite</a> the layer lies.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="SatStress.SatStress-pysrc.html#SatLayer.ordered_str">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="maxwell_time"></a><span class="summary-sig-name">maxwell_time</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Calculate the Maxwell relaxation time of the layer [s] 
      (viscosity/lame_mu).</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="SatStress.SatStress-pysrc.html#SatLayer.maxwell_time">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="bulk_modulus"></a><span class="summary-sig-name">bulk_modulus</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Calculate the bulk modulus (&kappa;) of the layer [Pa].</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="SatStress.SatStress-pysrc.html#SatLayer.bulk_modulus">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="youngs_modulus"></a><span class="summary-sig-name">youngs_modulus</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Calculate the Young's modulus (E) of the layer [Pa].</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="SatStress.SatStress-pysrc.html#SatLayer.youngs_modulus">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="poissons_ratio"></a><span class="summary-sig-name">poissons_ratio</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Calculate poisson's ratio (&nu;) of the layer [Pa].</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="SatStress.SatStress-pysrc.html#SatLayer.poissons_ratio">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="p_wave_velocity"></a><span class="summary-sig-name">p_wave_velocity</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Calculate the velocity of a compression wave in the layer [m s^-1]</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="SatStress.SatStress-pysrc.html#SatLayer.p_wave_velocity">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__delattr__</code>,
      <code>__getattribute__</code>,
      <code>__hash__</code>,
      <code>__new__</code>,
      <code>__reduce__</code>,
      <code>__reduce_ex__</code>,
      <code>__repr__</code>,
      <code>__setattr__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== INSTANCE VARIABLES ==================== -->
<a name="section-InstanceVariables"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Instance Variables</span></td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">float</span>
    </td><td class="summary">
        <a name="density"></a><span class="summary-name">density</span><br />
      the density of the layer, at zero pressure [kg m^-3],
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">float</span>
    </td><td class="summary">
        <a name="lame_lambda"></a><span class="summary-name">lame_lambda</span><br />
      the layer's Lame parameter, &lambda; [Pa].
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">float</span>
    </td><td class="summary">
        <a name="lame_mu"></a><span class="summary-name">lame_mu</span><br />
      the layer's Lame parameter, &mu; (the shear modulus) [Pa].
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">str</span>
    </td><td class="summary">
        <a href="SatStress.SatStress.SatLayer-class.html#layer_id" class="summary-name">layer_id</a><br />
      a string identifying the layer, e.g.
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">float</span>
    </td><td class="summary">
        <a name="tensile_str"></a><span class="summary-name">tensile_str</span><br />
      the tensile failure strength of the layer [Pa].
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">float</span>
    </td><td class="summary">
        <a name="thickness"></a><span class="summary-name">thickness</span><br />
      the radial thickness of the layer [m].
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">float</span>
    </td><td class="summary">
        <a name="viscosity"></a><span class="summary-name">viscosity</span><br />
      the viscosity of the layer [Pa s].
    </td>
  </tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Properties</span></td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__class__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Method Details</span></td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">sat</span>,
        <span class="sig-arg">layer_n</span>=<span class="sig-default">0</span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="SatStress.SatStress-pysrc.html#SatLayer.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Construct an object representing a layer within a <a 
  href="SatStress.SatStress.Satellite-class.html" 
  class="link">Satellite</a>.</p>
  <p>Gets values from the <a 
  href="SatStress.SatStress.Satellite-class.html#satParams" 
  class="link">Satellite.satParams</a> dictionary for the layer that 
  corresponds to the value of <code>layer_n</code>.</p>
  <p>Each layer is defined by seven parameter values, and each layer has a 
  unique numeric identifier, appended to the end of all the names of its 
  parameters.  Layer zero is the core, with the number increasing as the 
  satellite is built up toward the surface.  In the below list the 
  &quot;N&quot; at the end of the parameter names should be replaced with 
  the number of the layer (<code>layer_n</code>).  Currently, because of 
  the constraints of the Love number code that we are using, you must 
  specify 4 layers (<code>CORE</code>, <code>OCEAN</code>, 
  <code>ICE_LOWER</code>, <code>ICE_UPPER</code>).</p>
  <ul>
    <li>
      <b><code>LAYER_ID_N</code></b>: A string identifying the layer, e.g. 
      <code>OCEAN</code> or <code>ICE_LOWER</code>
    </li>
    <li>
      <b><code>DENSITY_N</code></b>: The density of the layer at zero 
      pressure [m kg^-3]
    </li>
    <li>
      <b><code>LAME_MU_N</code></b>: The real-valued Lame parameter &mu; 
      (shear modulus) [Pa]
    </li>
    <li>
      <b><code>LAME_LAMBDA_N</code></b>: The real-valued Lame parameter 
      &lambda; [Pa]
    </li>
    <li>
      <b><code>THICKNESS_N</code></b>: The thickness of the layer [m]
    </li>
    <li>
      <b><code>VISCOSITY_N</code></b>: The viscosity of the layer [Pa s]
    </li>
    <li>
      <b><code>TENSILE_STRENGTH_N</code></b>: The tensile strength of the 
      layer [Pa]
    </li>
  </ul>
  <p>Not all layers necessarily require all parameters in order for the 
  calculation to succeed, but it is required that they be provided. 
  Parameters that will currently be ignored:</p>
  <ul>
    <li>
      <b><code>TENSILE_STRENGTH</code></b> of all layers except for the 
      surface (which is only used when creating fractures).
    </li>
    <li>
      <b><code>VISCOSITY</code></b> of the ocean and the core.
    </li>
    <li>
      <b><code>LAME_MU</code></b> of the ocean, assumed to be zero.
    </li>
  </ul>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>sat</code></strong> (<a href="SatStress.SatStress.Satellite-class.html" 
          class="link">Satellite</a>) - the <a href="SatStress.SatStress.Satellite-class.html" 
          class="link">Satellite</a> object to which the layer belongs.</li>
        <li><strong class="pname"><code>layer_n</code></strong> (int) - layer_n indicates which layer in the satellite is being defined, 
          with n=0 indicating the center of the satellite, and increasing 
          outward.  This is needed in order to select the appropriate 
          values from the <a 
          href="SatStress.SatStress.Satellite-class.html#satParams" 
          class="link">Satellite.satParams</a> dictionary.</li>
    </ul></dd>
    <dt>Returns: <a href="SatStress.SatStress.SatLayer-class.html" 
      class="link">SatLayer</a></dt>
        <dd>a <a href="SatStress.SatStress.SatLayer-class.html" 
          class="link">SatLayer</a> object having the properties specified 
          in the</dd>
    <dt>Raises:</dt>
    <dd><ul class="nomargin-top">
        <li><code><strong class='fraise'><a href="SatStress.SatStress.MissingSatelliteParamError-class.html">MissingSatelliteParamError</a></strong></code> - if any of the seven input parameters listed above is not found in 
        the <a href="SatStress.SatStress.Satellite-class.html#satParams" 
        class="link">Satellite.satParams</a> dictionary belonging to the 
        <code>sat</code> object passed in.</li>
        <li><code><strong class='fraise'><a href="SatStress.SatStress.NonNumberSatelliteParamError-class.html">NonNumberSatelliteParamError</a></strong></code> - if any numeric instance variable list above has a value that cannot
        be converted to a float.</li>
        <li><code><strong class='fraise'><a href="SatStress.SatStress.LowLayerDensityError-class.html">LowLayerDensityError</a></strong></code> - if a layer is specififed with a density of less than 100 [kg m^-3]</li>
        <li><code><strong class='fraise'><a href="SatStress.SatStress.LowLayerThicknessError-class.html">LowLayerThicknessError</a></strong></code> - if a layer is specified with a thickness of less than 100 [m].</li>
        <li><code><strong class='fraise'><a href="SatStress.SatStress.NegativeLayerParamError-class.html">NegativeLayerParamError</a></strong></code> - if either of the Lame parameters, the viscosity, or the tensile 
        strength of a layer is less than zero.</li>
    </ul></dd>
    <dt>Overrides:
        object.__init__
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="__str__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
    <br /><em class="fname">(Informal representation operator)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="SatStress.SatStress-pysrc.html#SatLayer.__str__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Output a human and machine readable text description of the layer.</p>
  <p>Note that because the layer object does not know explicitly where it 
  is within the stratified <a 
  href="SatStress.SatStress.Satellite-class.html" 
  class="link">Satellite</a> (that information is contained in the ordering
  of Satellite.layers list).</p>
  <p>Derived quantities are also output for clarity, but are preceeded by 
  the comment character '#' to avoid accidental use in re-constituting a 
  satellite.</p>
  <dl class="fields">
    <dt>Overrides:
        object.__str__
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="ordered_str"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">ordered_str</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">layer_n</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="SatStress.SatStress-pysrc.html#SatLayer.ordered_str">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Return a string representation of the <a 
  href="SatStress.SatStress.SatLayer-class.html" class="link">SatLayer</a>,
  including information about where in the <a 
  href="SatStress.SatStress.Satellite-class.html" 
  class="link">Satellite</a> the layer lies.</p>
  <p>When being output as part of a <a 
  href="SatStress.SatStress.Satellite-class.html" 
  class="link">Satellite</a> object, the <a 
  href="SatStress.SatStress.SatLayer-class.html" class="link">SatLayer</a> 
  needs to communicate which layer it is.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>layer_n</code></strong> (int) - Layer location within satellite.  Zero is the core.  Defaults to 
          None, in which case no ordering information is conveyed in 
          output.</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== INSTANCE VARIABLE DETAILS ==================== -->
<a name="section-InstanceVariableDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Instance Variable Details</span></td>
</tr>
</table>
<a name="layer_id"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">layer_id</h3>
  a string identifying the layer, e.g. <code>CORE</code>, or 
  <code>ICE_LOWER</code>
  <dl class="fields">
    <dt>Type:</dt>
      <dd>str</dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="SatStress-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://code.google.com/p/satstress">SatStress</a></th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Thu Apr  3 16:42:45 2008
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
